<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/*
 * 用户状态相关的一些助手函数
*/

/*
 * 获取用户的uid，不存在说明没有登录
 */
if ( ! function_exists('get_uid'))
{
	function get_uid()
	{
		
		$CI = &get_instance();
		return $CI->session->userdata("user_id");
	}
}


/*
 * 获取管理员的aid，不存在说明没有登录
*/
if( ! function_exists("get_aid"))
{
	function get_aid()
	{
		$CI = &get_instance();
		return $CI->session->userdata("admin_id");
	}
}


/*
 * 获取管理员名，不存在说明没有登录
*/
if ( ! function_exists('get_admin_name'))
{
	function get_admin_name()
	{

		$CI = &get_instance();
		return $CI->session->userdata("admin_name");
	}
}

/*
 * 获取用户名，不存在说明没有登录
*/
if ( ! function_exists('get_user_name'))
{
	function get_user_name()
	{

		$CI = &get_instance();
		return $CI->session->userdata("user_name");
	}
}


/*
 * 检查用户是否已经登录
 * 如果没有登录，则跳转到登录界面
 * 所有可被浏览器直接访问的api都必须确保这个方法首先被调用
 */
if (! function_exists("verify_user_login"))
{
	function verify_user_login()
	{
		
		if(!is_user_login_state()) 
		{
			redirect_to_login();
			
			return;
		}
	}
}

/*
 * 检查管理员是否已经登录
* 如果没有登录，则跳转到登录界面
* 所有可被浏览器直接访问的api都必须确保这个方法首先被调用
*/
if (! function_exists("verify_admin_login"))
{
	function verify_admin_login()
	{

		if(!is_admin_login_state())
		{
			redirect_to_login();
				
			return;
		}
	}
}

/*
 * 判断用户是否登录
*/
if (! function_exists("is_user_login_state"))
{
	function is_user_login_state()
	{
		$uid = get_uid();

		return !($uid === FALSE);
	}
}

/*
 * 判断用户是否登录
*/
if (! function_exists("is_admin_login_state"))
{
	function is_admin_login_state()
	{
		$aid = get_aid();

		return !($aid === FALSE);
	}
}


/*
 * 跳转至上一个页面
 */
if(! function_exists("jump_to_last_page"))
{
	function jump_to_last_page()
	{
		$last_url = $_SERVER["HTTP_REFERER"];
		
		if(!$last_url)
			return;
		
		redirect($last_url);
	}
}

?>
